package com.zhoumy.juc.tl;

class MyObject{

    // 这个方法一般不用复写，我们只是为了教学给大家演示案例做说明
    @Override
    protected void finalize() throws Throwable {
        //finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作
        System.out.println("---------invoke finalize method~~~! ");;
    }
}


/**
 * @author zhoumy
 * @create 2024年6月19日18:48:24
 */
public class ReferenceDemo {
    public static void main(String[] args) {

        // = new MyObject() 这里的"="就是强引用
        MyObject myObject = new MyObject();
        System.out.println("gc before: " + myObject);

        myObject = null;

        System.gc();

        System.out.println("gc after: " + myObject);

    }
}
